<?php
// +----------------------------------------------------------------------
// | TVSD  [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2023 http://xgx.517528.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: 王斌
// +----------------------------------------------------------------------

namespace app\admin\controller\tvsd;

use app\common\controller\Backend;
use \app\admin\model\tvsd\Cd;

/**
 * 车辆管理
 *
 * @icon fa fa-circle-o
 */
class Cl extends Backend
{

  /**
   * DdCl模型对象
   * @var \app\admin\model\tvsd\DdCl
   * 
   */
  protected $model = null;
  protected $dataLimit = 'auth'; //默认基类中为false，表示不启用，可额外使用auth和personal两个值
  protected $dataLimitField = 'admin_id'; //数据关联字段,当前控制器对应的模型表中必须存在该字段
  protected $selectpageFields = "id,name";
  protected $noNeedLogin = ['selectpagekk'];
  public function _initialize()
  {
    parent::_initialize();
    $this->model = new \app\admin\model\tvsd\DdCl;
  }



  /**
   * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
   * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
   * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
   */


  /**
   * 查看
   */
  public function index()
  {
    //当前是否为关联查询
    $this->relationSearch = true;
    //设置过滤方法
    $this->request->filter(['strip_tags', 'trim']);
    if ($this->request->isAjax()) {
      //如果发送的来源是Selectpage，则转发到Selectpage
      if ($this->request->request('keyField')) {
        return $this->selectpage();
      }
      list($where, $sort, $order, $offset, $limit) = $this->buildparams();

      $list = $this->model
        ->with(['ddcd'])
        ->where($where)
        ->order($sort, $order)
        ->paginate($limit);

      foreach ($list as $row) {

        $row->getRelation('ddcd')->visible(['name']);
      }

      $result = array("total" => $list->total(), "rows" => $list->items());

      return json($result);
    }
    return $this->view->fetch();
  }

  /**
   * 下拉框车牌
   */

  public function selectpagekk()
  {

    //设置过滤方法
    $this->request->filter(['strip_tags', 'trim']);
    if (false === $this->request->isAjax()) {
      return $this->view->fetch();
    }

    // 如果发送的来源是 Selectpage，则转发到 Selectpage
    if ($this->request->request('keyField')) {
      $custom = $this->request->request("custom/a");
      $id = $custom['id'];

      if ($this->request->request("keyValue")) {
        //取出对应线路车辆
        $list = $this->model->where('name', $this->request->request("keyValue"))->field('id,name,zws')->select();
      } else {
        //取出对应线路车辆
        $list = $this->model->where("dd_cd_id=" . $id)->field('id,name,zws')->select();
      }
      $list = collection($list)->toArray();
      return json(['list' => $list]);
    }
  }


  /**
   * 根据前端选择车牌号，读取信息，返回座位树填充表格
   */

  // public function zws()
  // {
  //   //设置过滤方法
  //   $this->request->filter(['strip_tags', 'trim']);
  //   if ($this->request->isAjax()) {
  //     $id = $this->request->post("id");
  //     $list = $this->model->field('zws')->where('id', $id)->find();
  //     return $this->success("ok", "", $list);
  //   }
  // }
}
